<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>
<body>
    <h1>全局注册symbol</h1>
    <p>使用Symbol.for(string)：全局注册symbol值，如果已注册获取symbol值</p>
    <p>Symbol.keyFor()：用于判断一个symbol值，是否是全局注册的。如果是全局注册，返回注册的字符串值，否则返回undefined</p>
    <script>
        // for(描述字符串)：全局注册一个symbol值。
        // 如果描述字符串没有注册过，会新注册一个全局symbol值。
        // 如果描述字符串已经注册，那么会返回注册的symbol值。
        let symbol1 = Symbol.for("name");
        let obj = {
            name: "奉先",
            [symbol1]: "人类",
        }

        let symbol2 = Symbol.for("name");
        console.log(symbol1 == symbol2); // true
        console.log(obj[symbol2]); // 人类

        let symbol3 = Symbol("name");

        // keyFor(symbol值)：获取全局注册的symbol值的描述，如果symbol值不是全局注册，返回nudefined
        console.log(Symbol.keyFor(symbol3)); // undefined
        console.log(Symbol.keyFor(symbol2)); // name
        console.log(symbol3 == symbol2);  // false


    </script>
</body>
</html>